home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
A-Monthly Disks
/
(c)abj.d64
/
rockscissors
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
9KB
|
281 lines
1 V=53248:S=54272:POKE53281,15:PRINT"[147]":GOSUB900
2 V=53248:S=54272:POKE53281,15:PRINT"[147]"
3 H(1)=65:H(2)=135:H(3)=205
4 M$=" "
5 C$(0)=CHR$(144):C$(1)=CHR$(28):G$=" TIE"
6 D$=" SCISSORS CUT PAPER":E$=" ROCK BREAKS SCISSORS":F$=" PAPER COVERS ROCK"
7 Y$(2)="YES":Y$(1)="NO"
10 POKE53280,0:DIMA$(11):FORJ=0TO24:POKES+J,0:NEXT
20 MN$="[153]$":PR$=""
21 X=RND(-TI):CL=INT(RND(1)*4)+1
22 A$(1)=" ":B$(1)="[151] "
23 A$(2)="[214][214][214][214][214][214][214]":B$(2)=" [155] [151] "
25 A$(3)=" [215] [215] ":B$(3)=" [155] [151] "
30 A$(4)=" + ":B$(4)=" [155] [151] "
35 A$(5)=" [215] [215] ":B$(5)=" [155] [151] "
40 A$(6)=" + [174]":B$(6)=" [155] [151] "
45 A$(7)=" [215] [215] ":B$(7)=" [155] [151] "
50 A$(8)=" + ":B$(8)=" [155] [151] "
55 A$(9)="[214][214][214][214][214][214][214]":B$(9)=" [146]"+CL$(CL)+"[183][183][183][183][183][151] "
60 A$(10)=" ":B$(10)="[206] [205][146]"
65 GOSUB790
70 INPUT"SPEED FAST (1 - 5) SLOW";FF
71 IFFF<1ORFF>5THENPRINT" ":GOTO70
72 CT=60-(FF*8):TC=FF*15:NN=13+(FF*2):MM=NN
73 PRINT"POSITION FINGERS OVER +[146] & -[146] KEYS AND"
74 PRINT"HIT ANY KEY TO BEGIN "
75 GETS$:IFS$<>""THEN75
76 GETS$:IFS$=""THEN76
78 PRINT" ":PRINT
79 PRINT" "
80 FORJ=1025TO1062:POKEJ,99:POKES+J,2:POKEJ+960,111:POKES+J+960,2:NEXT
82 POKE1024,79:POKES+1024,1:POKE1984,76:POKES+1984,1
84 POKE1063,80:POKES+1063,1:POKE2023,122:POKES+2023,1
86 FORJ=1064TO1944STEP40:POKEJ,116:POKES+J,2:POKEJ+39,106:POKES+J+39,2:NEXT
90 F$(1)="[144]PROFESSIONAL":F$(2)="[156]RECKLESS":F$(3)="MODERATE"
91 F$(4)="[158]CAUTIOUS":F$(5)="AMATEUR"
94 PRINT""TAB(192)"LEFT"
95 PRINTM$""F$(FF)
100 POKEV+39,11:POKEV+40,11:POKEV+27,3:GOSUB200:PRINT""TAB(232)" [157][157][157]"MM
101 N=0:POKE2042,198:PRINTM$
102 PRINTPR$TAB(5)"[144] "PR$TAB(5)SC:IFSC<-99THENGOTO675
103 IFSC>499THENGOTO675
104 IFMM<1THENPRINT"[145][145][145][145][145][145]OUT OF TURNS":GOTO680
122 FORX=3TO21STEP9:PRINT"":POKE646,C:C=C+1
124 FORA=1TO10:PRINTTAB(X)A$(A):NEXT:PRINTTAB(X+3)
125 NEXT:O=0
126 Y=INT(RND(1)*3)+1:Z=2+Y+ABS(1-Y)*8
135 PRINT"":GOSUB400
136 POKEV,H(Y)
140 FORA=1TO10:PRINTTAB(Z)B$(A):POKE54294,100+(A*10):FORT=1TO50 :NEXT:NEXT
141 POKEV+27,0
142 POKES+11,64:POKES+4,128
144 C=0
150 GETEN$:IFEN$<>""THEN150
151 TI$="000000"
152 GETEN$
155 IFEN$="+"THENN=2:GOSUB300:MM=MM-1:GOTO180
160 IFEN$="-"THENN=1:GOSUB300:MM=MM-1:N=0:GOTO180
165 IFTI>TCTHENPOKE53280,1:GOSUB600:PRINTM$"TIME":FORT=1TO400:NEXT:GOTO170
168 IFEN$<>"+"OREN$<>"-"THEN152
170 POKE53280,0:GOSUB300:MM=MM-1
180 GOSUB400:POKEV+27,3
185 PRINTM$C$W$:FORT=1TO300:NEXT
199 GOTO100
200 PK=INT(RND(1)*3)+1:KP=INT(RND(1)*3)
201 IFPK=KP+1ANDRND(1)<.6THEN200
202 ONPKGOSUB250,254,258
205 POKE2040,CH:POKE2041,193+KP
249 RETURN
250 CH=193
251 RETURN
254 CH=194
255 RETURN
258 CH=195
259 RETURN
260 POKEV+27,3
262 FORX=3TO21STEP9:PRINT"":POKE646,C:C=C+1
264 FORA=1TO10:PRINTTAB(X)A$(A):NEXT:PRINTTAB(X+3)
266 NEXT:O=0:C=0
299 RETURN
300 PRINTM$Y$(N):IFPK=KP+1ANDN>0THENPOKE2042,199:SC=SC-CT
301 IFCH<>193THEN320
304 IFKP=0THENW$=G$:MM=MM+1:SC=SC-(10*(N=0)):RETURN
308 IFKP=1THENF=2:W$=E$:IFN>0THENGOTO316
312 IFKP=2THENF=1:W$=D$:SC=SC+((4+CT)*(N=0))
315 IFF=1THENI=1:L=3:II=0
316 IFF=2THENI=3:L=1:SP=-8
317 IFN>0THENONKPGOTO375,380
318 ONFGOSUB700,720,90
319 RETURN
320 IFCH<>194THEN340
324 IFKP=0THENF=2:KP=1:W$=E$:SC=SC+((4+CT)*(N=0)):GOTO335
328 IFKP=1THENW$=G$:MM=MM+1:SC=SC-(10*(N=0)):RETURN
332 IFKP=2THENF=3:W$=F$:GOTO336
333 IFC$=""THENPOKEV+39,2
334 IFC$="[144]"THENPOKEV+40,2
335 IFF=2THENI=1:L=3:SP=8
336 IFF=3THENI=3:L=1:SP=-8
337 IFN>0THENONKPGOTO380,375
338 ONFGOSUB339,720,740
339 RETURN
340 IFKP=0THENF=1:W$=D$:IFN>0THENKP=1:GOTO350
344 IFKP=1THENF=3:W$=F$:SC=SC+((4+CT)*(N=0)):IFN>0THENKP=2:GOTO354
348 IFKP=2THENW$=G$:MM=MM+1:SC=SC-(10*(N=0)):RETURN
350 IFF=1THENI=3:L=1:II=1
354 IFF=3THENI=1:L=3:SP=8
356 IFN>0THENONKPGOTO375,380
357 ONFGOSUB700,720,740
359 RETURN
375 IFN=2THENSC=SC+8+CT+(30-MM):POKE2042,200:GOTO379
376 SC=SC-4-CT:POKE2042,199:GOSUB650
377 ONFGOSUB700,720,740
379 N=0:F=0:KP=0:RETURN
380 IFN=2THENSC=SC-12-CT-(30-MM):POKE2042,199:GOSUB650:GOTO383
381 SC=SC+8+CT:POKE2042,200
382 GOTO385
383 ONFGOSUB700,720,740
385 N=0:F=0:KP=0:RETURN
400 POKE 54293,0:POKE 54294,100
401 POKE 54295,3:POKE 54296,31
402 POKE 54272,135:POKE 54273,33
403 POKE 54274,96:POKE 54275,4
404 POKE 54277,155:POKE 54278,235
405 POKE 54279,81:POKE 54280,1
406 POKE 54281,12:POKE 54282,9
407 POKE 54284,31:POKE 54285,86
408 POKE 54283,65:POKE 54276,129
410 FORT=1TO300:NEXT
425 RETURN
500 POKE 54293,0:POKE 54294,128
501 POKE 54295,32:POKE 54296,47
502 POKE 54286,143:POKE 54287,12
503 POKE 54288,0:POKE 54289,4
504 POKE 54291,80:POKE 54292,0
505 POKE 54290,129
520 POKE 54290,128
525 RETURN
530 POKE 54293,0:POKE 54294,128
531 POKE 54295,32:POKE 54296,47
532 POKE 54286,60:POKE 54287,50
533 POKE 54288,0:POKE 54289,4
534 POKE 54291,0:POKE 54292,139
535 POKE 54290,129
550 POKE 54290,128
555 RETURN
560 POKE 54293,0:POKE 54294,128
561 POKE 54295,32:POKE 54296,47
562 POKE 54286,121:POKE 54287,100
563 POKE 54288,112:POKE 54289,9
564 POKE 54291,8:POKE 54292,0
585 RETURN
600 POKE 54293,0:POKE 54294,128
601 POKE 54295,32:POKE 54296,47
602 POKE 54279,115:POKE 54280,106
603 POKE 54281,0:POKE 54282,4
604 POKE 54284,6:POKE 54285,0
605 POKE 54286,107:POKE 54287,47
606 POKE 54288,0:POKE 54289,4
607 POKE 54291,6:POKE 54292,0
608 POKE 54290,65:POKE 54283,65
620 POKE 54290,64:POKE 54283,64
630 RETURN
650 POKE 54293,0:POKE 54294,128
651 POKE 54295,32:POKE 54296,47
652 POKE 54279,83:POKE 54280,3
653 POKE 54281,0:POKE 54282,4
654 POKE 54284,6:POKE 54285,0
655 POKE 54286,237:POKE 54287,5
656 POKE 54288,0:POKE 54289,4
657 POKE 54291,6:POKE 54292,0
658 POKE 54290,65:POKE 54283,65
670 POKE 54290,64:POKE 54283,64
674 RETURN
675 IFSC<-99THENPRINTM$"[145]YOU FAILED! "F$(FF)"LY":POKE2042,199:GOSUB697:GOTO680
677 SC=SC+(MM*INT(100/FF)):PRINTPR$TAB(5)"[144] "PR$TAB(5)SC
678 PRINTM$"[145]YOU DID IT! "F$(FF)"LY":POKE2042,200:GOSUB695
680 FORJ=0TO24:POKES+J,0:NEXT:PRINT"PLAY AGAIN? (Y/N)"
682 GETS$:IFS$<>""THEN682
684 GETS$:IFS$=""THEN684
685 IFS$="N"THENSTOP
690 RUN2
695 FORJ=1TO20:POKE2042,198+JG:JG=ABS(JG-2):FORT=1TO50:NEXT:NEXT:RETURN
697 FORJ=1TO10:POKE2042,198+JG:JG=ABS(JG-1):FORT=1TO100:NEXT:NEXT:RETURN
700 POKE2042,199
701 VP=PEEK(V+I):HP=PEEK(V+I-1):POKEV+I-1,PEEK(V+L-1)-20:POKEV+I,PEEK(V+L)
702 FORSH=PEEK(V+I-1)TOPEEK(V+L-1)
703 POKEV+I-1,SH:POKE2040+II,192+Q:Q=ABS(Q-1):GOSUB500
704 IFSH=PEEK(V+L-1)-8THENPOKE2040+L/2,196
706 NEXT:F=0:FORT=1TO500:NEXT:POKE2040+L/2,195:POKEV+I,VP:POKEV+I-1,HP
709 I=0:L=0:II=0:RETURN
720 POKE2042,199:VP=PEEK(V+I):HP=PEEK(V+I-1):VV=V+I-1
721 GOSUB560:FORSH=PEEK(V+I)TOPEEK(V+L)STEPSP
722 POKEV+I,SH:FORT=1TO10:NEXT
723 POKEVV,PEEK(VV)+(8*(PEEK(VV)>PEEK(V+L-1)))-(8*(PEEK(VV)<PEEK(V+L-1)))
724 POKES+24,0:POKES+24,47
726 NEXT:F=0:POKES+18,65:POKES+18,64:FORT=1TO500:NEXT:POKEV+I,VP:POKEV+I-1,HP
729 POKE2040+(L/2),192:I=0:L=0:SP=0:RETURN
740 POKE2042,199:VP=PEEK(V+I):HP=PEEK(V+I-1):VV=V+I-1
741 FORSH=PEEK(V+I)TOPEEK(V+L)STEPSP
742 POKEV+I,SH:FORT=1TO10:NEXT
743 POKEVV,PEEK(VV)+(8*(PEEK(VV)>PEEK(V+L-1)))-(8*(PEEK(VV)<PEEK(V+L-1)))
744 NEXT:F=0:POKEV+21,5:POKE2040,197:GOSUB530:FORT=1TO999:NEXT
745 POKEV+I,VP:POKEV+I-1,HP
747 POKE2040,194:POKEV+21,7
748 I=0:L=0:SP=0
749 RETURN
790 PRINT"[207][183][183][183][183][208]"
792 PRINT"[180] [170]"
794 PRINT"[180] [170]"
796 PRINT"[204][175][175][175][175][186]"
800 PRINT"":PRINT"[151] [207][183][183][183][183][183][208]"
801 PRINT" [180] [170] [180] [170] "
802 PRINT" [204][175][175][175][175][175][186] [180] [170] "
803 PRINT" [180] [170] "
804 PRINT" [180] [170] "
805 PRINT" [180]+ OR -[170] "
806 PRINT" [204][175][175][175][175][175][175][186] "
810 RETURN
900 FORJ=12288TO12288+511+63:READR:POKEJ,R:NEXT
901 POKEV+37,1:POKEV+38,0:FORJ=39TO42:POKEV+J,11:NEXT:GOSUB950
902 POKEV+21,7:POKEV+28,3:POKE2040,192:POKE2041,195:POKE2042,198
904 POKEV+2,140:POKEV+3,200:POKEV+1,100:POKEV,135
906 POKEV+28,3:POKEV+23,4:POKEV+29,4
910 POKEV+4,250:POKEV+5,190
949 RETURN
950 POKEV+21,15:POKEV+28,7:POKEV+23,0:POKEV+29,0:PRINT"[144]ROCK"
952 POKE2040,194:POKEV,0:POKEV+1,66
954 FORJ=1TO120STEP2:POKEV,J:POKES+24,0:POKES+24,47:FORT=1TO20:NEXT:NEXT
956 PRINT"PAPER":POKEV+2,0:POKEV+3,90:POKE2041,195
958 GOSUB530:FORJ=1TO120STEP4:POKEV+2,J:FORT=1TO20:NEXT:NEXT
960 PRINT"[152]SCISSORS"
961 POKEV+4,0:POKEV+5,114:POKE2042,193
962 FORJ=1TO123STEP4
964 POKEV+4,J:POKE2042,192+Q:Q=ABS(Q-1):GOSUB500:FORT=1TO20:NEXT:NEXT
970 POKEV+42,11:POKEV+23,8:POKEV+29,8:POKEV+6,0:POKEV+7,80:POKE2043,198
972 FORJ=1TO200STEP4
974 POKEV+6,J:FORT=1TO20:NEXT:NEXT:GOSUB600:POKE2043,200:FORT=1TO1000:NEXT
976 PRINT"[151]THIS IS A GAME OF TIMING. AT BOTTOM"
978 PRINT"YOU'RE SHOWN EITHER ROCK, PAPER OR"
980 PRINT"SCISSORS. WHEN A DOOR ROLLS OPEN, YOU"
982 PRINT"MUST HIT EITHER THE +[146][151] OR -[146][151] KEY OR DO"
984 PRINT"NOTHING[151] DEPENDING ON THE TYPE OF"
986 PRINT"OBJECT THAT APPEARS. YOU ARE AWARDED"
987 PRINT"POINTS FOR GUESSING CORRECTLY, LOSE"
988 PRINT"POINTS GUESSING INCORRECTLY OR FOR"
990 PRINT"HITTING A KEY WHEN THERE'S A TIE."
992 PRINT"YOU ARE TIMED ON EACH GUESS AND YOUR"
993 PRINT"GOAL IS 500 PTS. IN # OF TURNS ALLOWED."
994 PRINT"HIT A KEY TO BEGIN"
995 GETA$:IFA$<>""THEN995
996 GETA$:IFA$=""THEN996
999 RETURN
1000 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,234,0,10,130,0,40,130,128
1001 DATA 160,234,162,128,0,186,0,0,206,0,234,186,128,130,160,160,130,128,40
1002 DATA 234,0,10,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0
1003 DATA 0,0,0,0,0,0,0,0,234,0,0,130,0,0,130,160,0,234,186,168,234,206,171,130
1004 DATA 186,168,130,160,0,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0
1005 DATA 0,0,0,0,0,0,0,0,0,60,0,0,175,0,2,190,0,10,238,160,11,254,168,47,187
1006 DATA 184,46,239,250,190,239,250,190,175,234,191,191,238,190,255,175,46,255
1007 DATA 188,42,191,232,10,191,160,2,170,160,0,42,128,0,10,0,0,0,0,63,0,0,0
1008 DATA 0,0,0,0,0,0,170,170,170,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
1009 DATA 85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
1010 DATA 85,85,85,85,85,85,85,170,170,170,0,0,0,63,0,0,0,0,0,0,0,0,0,255,255
1011 DATA 255,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
1012 DATA 255,255,255,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
1013 DATA 85,85,170,170,170,0,0,0
1503 DATA 63,0,0,0,0,0,0,10,56,0,37,87,0,85,85,128,85,85,96,149
1504 DATA 85,88,149,85,88,149,85,86,150,239,85,158,175,213,191,191,229,190,255
1505 DATA 165,46,255,189,42,191,233,10,191,162,2,170,160,0,42,128,0,10,0,0,0,0
1506 DATA 0,0,0,0:REM*** ,0,0,0
2000 DATA 0,124,0,1,131,0,6,0,192,8,0,32,16,0,16,111,131,236,207,199,230
2001 DATA 200,40,38,248,56,62,201,41,38,207,199,230,96,16,12,32,0,8,16,254,16,9
2002 DATA 131,32,11,125,160,7,1,192,3,131,128,1,255,0,1,255,0,0,254,0,63,0
2003 DATA 124,0,1,131,0,6,0,192,8,0,32,22,0,208,111,131,236,207,199,230,200,40
2004 DATA 38,249,57,62,200,40,38,207,199,230,96,16,12,32,124,8,16,254,16,9,131
2005 DATA 32,11,57,160,7,57,192,3,131,128,1,255,0,1,255,0,0,254
3000 DATA 0,0,0,124,0,1,131,0,6,0,192,8,0,32,22,0,208,111,131,236,204,198,102
3001 DATA 200,40,38,251,57,190,200,40,38,207,199,230,96,16,12,38,0,200,19,255
3002 DATA 144,10,198,160,11,125,160,7,57,192,3,131,128,1,255,0,1,255,0,0,254,0
3003 DATA 0